add_executable(testCore testCore.cpp)
target_link_libraries(testCore ${MAIN_LIB})

add_executable(testPLG testPLG.cpp)
target_link_libraries(testPLG ${MAIN_LIB})

# Multigrid on rectangular domains
add_executable(testMG4Poisson testMG4Poisson.cpp ../example/common/TestUtility.h)
target_link_libraries(testMG4Poisson ${MAIN_LIB})
add_executable(testMG4MixedDer testMG4MixedDer.cpp ../example/common/TestUtility.h)
target_link_libraries(testMG4MixedDer ${MAIN_LIB})

# Test various operators
#add_executable(testPartialDer testPartialDer.cpp ../example/common/Ellipsoid.h ../example/common/TestUtility.h)
#target_link_libraries(testPartialDer ${MAIN_LIB})
add_executable(testConvection testConvection.cpp ../example/common/Ellipsoid.h ../example/common/TestUtility.h)
target_link_libraries(testConvection ${MAIN_LIB})

# Test the mixed-derivative problem
add_executable(testMixedDerTrunc testMixedDerTrunc.cpp ../example/common/RotatedBox.h ../example/common/TestUtility.h)
target_link_libraries(testMixedDerTrunc ${MAIN_LIB})
add_executable(testMixedDerSol testMixedDerSol.cpp ../example/common/RotatedBox.h ../example/common/TestUtility.h)
target_link_libraries(testMixedDerSol ${MAIN_LIB})

# Test the Poisson equation
add_executable(testPoisson3 testPoisson3.cpp ../example/common/TestUtility.h ../example/common/RoundedStar.h)
target_link_libraries(testPoisson3 ${MAIN_LIB})
add_executable(testPoisson4 testPoisson4.cpp ../example/common/TestUtility.h ../example/common/RoundedStar.h)
target_link_libraries(testPoisson4 ${MAIN_LIB})

#add_executable(testEmbeddedGrid testEmbeddedGrid.cpp ../example/common/RoundedStar.h)
#target_link_libraries(testEmbeddedGrid ${MAIN_LIB})
